package com.moxiao.yfjh.module.order.dal.dataobject.blindTradeOrder;

import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.moxiao.yfjh.framework.mybatis.core.dataobject.BaseDO;
import lombok.*;

import java.time.LocalDateTime;

/**
 * 相亲交易订单 DO
 *
 * @author mx
 */
@TableName("blind_trade_order")
@KeySequence("blind_trade_order_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class BlindTradeOrderDO extends BaseDO {

    /**
     * 用户ID
     */
    @TableId
    private Long id;
    /**
     * 订单流水号
     */
    private String no;
    /**
     * 应用编号
     */
    private Long appId;
    /**
     * 订单来源终端
     */
    private Integer terminal;

    /**
     * 订单支付方式
     */
    private String payway;
    /**
     * 用户编号
     */
    private Long userId;
    /**
     * 异步通知地址
     */
    private String notifyUrl;
    /**
     * 手机号
     */
    private String mobile;
    /**
     * 用户昵称
     */
    private String userName;
    /**
     * 用户 IP
     */
    private String userIp;
    /**
     * 用户备注
     */
    private String userRemark;
    /**
     * 开通次数
     */
    private String openNum;
    /**
     * 开通等级
     */
    private String openLevel;
    /**
     * 开通内容
     */
    private String openContent;
    /**
     * 订单状态
     */
    private Integer status;
    /**
     *
     */
    private Long orderId;
    /**
     * 购买的商品数量
     */
    private Integer productCount;
    /**
     * 取消类型
     */
    private Integer cancelType;
    /**
     * 商家备注
     */
    private String remark;
    /**
     * 推广人编号
     */
    private Long brokerageUserId;
    /**
     * 支付订单编号
     */
    private Long payOrderId;
    /**
     * 是否已支付：[0:未支付 1:已经支付过]
     */
    private Boolean payStatus;
    /**
     * 订单支付时间
     */
    private LocalDateTime payTime;
    /**
     * 支付成功的支付渠道
     */
    private String payChannelCode;
    /**
     * 订单完成时间
     */
    private LocalDateTime finishTime;
    /**
     * 订单取消时间
     */
    private LocalDateTime cancelTime;
    /**
     * 商品原价（总），单位：分
     */
    private Integer totalPrice;
    /**
     * 应付金额（总），单位：分
     */
    private Integer payPrice;
    /**
     * 退款金额，单位：分
     */
    private Integer refundPrice;

    /**
     * 订单类型
     */
    private Byte orderType;

}
